home *** CD-ROM | disk | FTP | other *** search
/ com!online 2002 January / com! 2002.01.iso / selfhtml80 / dhtml / beispiele / anzeige / dhtml.js < prev    next >
Encoding:
JavaScript  |  2001-10-27  |  3.2 KB  |  129 lines

  1. /* DHTML-Bibliothek */
  2.  
  3. var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;
  4.  
  5. function DHTML_init() {
  6.  
  7.  if (window.opera) {
  8.      OP = 1;
  9.  }
  10.  if(document.getElementById) {
  11.    DHTML = 1;
  12.    DOM = 1;
  13.  }
  14.  if(document.all && !OP) {
  15.    DHTML = 1;
  16.    MS = 1;
  17.  }
  18. if(document.layers && !OP) {
  19.    DHTML = 1;
  20.    NS = 1;
  21.  }
  22. }
  23.  
  24. function getElem(p1,p2,p3) {
  25.  var Elem;
  26.  if(DOM) {
  27.    if(p1.toLowerCase()=="id") {
  28.      if (typeof document.getElementById(p2) == "object")
  29.      Elem = document.getElementById(p2);
  30.      else Elem = void(0);
  31.      return(Elem);
  32.    }
  33.    else if(p1.toLowerCase()=="name") {
  34.      if (typeof document.getElementsByName(p2) == "object")
  35.      Elem = document.getElementsByName(p2)[p3];
  36.      else Elem = void(0);
  37.      return(Elem);
  38.    }
  39.    else if(p1.toLowerCase()=="tagname") {
  40.      if (typeof document.getElementsByTagName(p2) == "object" || (OP && typeof document.getElementsByTagName(p2) == "function"))
  41.      Elem = document.getElementsByTagName(p2)[p3];
  42.      else Elem = void(0);
  43.      return(Elem);
  44.    }
  45.    else return void(0);
  46.  }
  47.  else if(MS) {
  48.    if(p1.toLowerCase()=="id") {
  49.      if (typeof document.all[p2] == "object")
  50.      Elem = document.all[p2];
  51.      else Elem = void(0);
  52.      return(Elem);
  53.    }
  54.    else if(p1.toLowerCase()=="tagname") {
  55.      if (typeof document.all.tags(p2) == "object")
  56.      Elem = document.all.tags(p2)[p3];
  57.      else Elem = void(0);
  58.      return(Elem);
  59.    }
  60.    else if(p1.toLowerCase()=="name") {
  61.      if (typeof document[p2] == "object")
  62.      Elem = document[p2];
  63.      else Elem = void(0);
  64.      return(Elem);
  65.    }
  66.    else return void(0);
  67.  }
  68.  else if(NS) {
  69.    if(p1.toLowerCase()=="id" || p1.toLowerCase()=="name") {
  70.    if (typeof document[p2] == "object")
  71.      Elem = document[p2];
  72.      else Elem = void(0);
  73.      return(Elem);
  74.    }
  75.    else if(p1.toLowerCase()=="index") {
  76.     if (typeof document.layers[p2] == "object")
  77.      Elem = document.layers[p2];
  78.     else Elem = void(0);
  79.      return(Elem);
  80.    }
  81.    else return void(0);
  82.  }
  83. }
  84.  
  85. function getCont(p1,p2,p3) {
  86.    var Cont;
  87.    if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild) {
  88.      if(getElem(p1,p2,p3).firstChild.nodeType == 3)
  89.        Cont = getElem(p1,p2,p3).firstChild.nodeValue;
  90.      else
  91.        Cont = "";
  92.      return(Cont);
  93.    }
  94.    else if(MS && getElem(p1,p2,p3)) {
  95.      Cont = getElem(p1,p2,p3).innerText;
  96.      return(Cont);
  97.    }
  98.    else return void(0);
  99. }
  100.  
  101. function getAttr(p1,p2,p3,p4) {
  102.    var Attr;
  103.    if((DOM || MS) && getElem(p1,p2,p3)) {
  104.      Attr = getElem(p1,p2,p3).getAttribute(p4);
  105.      return(Attr);
  106.    }
  107.    else if (NS && getElem(p1,p2)) {
  108.        if (typeof getElem(p1,p2)[p3] == "object")
  109.         Attr=getElem(p1,p2)[p3][p4]
  110.        else
  111.         Attr=getElem(p1,p2)[p4]
  112.          return Attr;
  113.        }
  114.    else return void(0);
  115. }
  116.  
  117. function setCont(p1,p2,p3,p4) {
  118.    if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild)
  119.      getElem(p1,p2,p3).firstChild.nodeValue = p4;
  120.    else if(MS && getElem(p1,p2,p3))
  121.      getElem(p1,p2,p3).innerText = p4;
  122.    else if(NS && getElem(p1,p2,p3)) {
  123.      getElem(p1,p2,p3).document.open();
  124.      getElem(p1,p2,p3).document.write(p4);
  125.      getElem(p1,p2,p3).document.close();
  126.    }
  127. }
  128.  
  129. DHTML_init();